In some data processing environments, such as in a military data processing environment, data can be identified as safety critical data and other data can be identified as non-safety critical data. Safety critical data, or simply just critical data, are data that are of critical importance to the proper functioning of a system, such as a weapons system. Non-critical data are data that are not safety critical. Safety critical data can only be received, processed, and stored by a processor and software that is certified to handle such safety critical data. Consequently, when safety critical data is transferred from a bus controller (such as a MIL-STD-1553 Bus Controller Interface) to a bus or other device (such as a MIL-STD-1553 bus), the local processor reads data from the Remote Terminal Interface and transfers the critical data using a bus controller to the safety critical subsystem. All software that interfaces with the bus controller and remote terminal must go through extensive testing for safety critical data handling to verify that only non-safety critical data is received by the local processor.
Filtering logic for such an integrated subsystem is typically done using an external computer and software, making it rather difficult to certify for a safety critical environment since there are so many possible methods of corruption and storage of safety critical data from these interfaces. The cost involved for certification with an external computer and software is not insubstantial. Furthermore, several critical failure modes exist in such a system due to environmental upsets from nuclear and space radiation to the systems' soft configurations that are stored in registers and memory, thereby causing unpredicted results and possible rejection of the system for safety critical applications.